A storage server is a computer system and a form of storage controller that is used to store and retrieve data on behalf of one or more clients on a network. A storage server operates on behalf of one or more clients to store and manage data in a set of mass storage devices, such as magnetic or optical storage-based disks or tapes. A storage server may be configured to service file-level requests from clients, as in the case of file servers used in a Network Attached Storage (NAS) environment. Alternatively, a storage server may be configured to service block-level requests from clients, as done by storage servers used in a Storage Area Network (SAN) environment. Further, some storage servers are capable of servicing both file-level and block-level requests, such as certain storage servers made by NetApp®, Inc. of Sunnyvale, Calif.
In order to preserve the data stored in a storage server, a data management application (DMA) can be utilized to backup such data to a secondary storage system. If necessary, the backed-up data can then be used to recover the storage server in a restore operation. For easy management, the DMA can also configure these backup and restore operations by using a set of pre-defined data redundancy policies. A data redundancy policy identifies the storage entities in the storage server to be backed up or restored, and the backup storage devices that can be used for such backup/restore operations. Once the data redundancy policies are defined, the DMA can streamline the backup and restore operations by automatically invoking commands according to the policies. Further, these data redundancy policies allow the DMA to log the backup events and track the location of backed-up data.
During configuration of data redundancy policies, the DMA can browse the storage entities and the backup storage devices along with their physical configurations. For example, a storage volume provided by a storage server is viewed by the DMA as a storage volume physically located in such storage server. Or a backup tape drive that is connected to a particular storage server is also likely presented to the DMA. Thus, the data redundancy policies, which are configured based on the storage entities and backup storage devices, become closely coupled with the physical configurations of these storage entities and backup devices. When a data redundancy policy is invoked to backup data to a tape drive, the DMA often can communicate with the storage server that supplies the storage entity and the storage server that is connected to the tape drive, and coordinate the transmitting of data from the storage entity to the tape drive. Thus, the physical configurations of the storage entities and backup storages devices allow the DMA to perform its backup/restore functions based on the data redundancy policies.
However, when the physical configurations of the storage entities and backup storage devices change, the data redundancy policies that depend on these physical configurations may no longer be valid. For example, if a storage server or a storage entity contained therein is moved, renamed, deleted, or becomes inoperative, initiating a backup/restore operation on a non-existent or inaccessible storage server or storage entity cannot proceed successfully. Likewise, if a tape drive is no longer accessible, none of the data redundancy policies that depend on the tape drive can store or retrieve data from such tape drive, even if there are other backup storage devices available and accessible. In these situations, the data redundancy policies must be reconfigured to utilize the new or changed storage entities or backup devices. However, once a data redundancy policy is updated, the previous logged backup/restore events, as well as the backed-up data, may no longer be traceable based on the updated data redundancy policy.
To improve storage availability and performance, multiple individual storage servers can be integrated into a clustered storage system, which provides load-balance and/or fail-over capabilities. In a clustered storage system, the physical configurations of each individual storage server become less important. However, a conventional DMA can only configure data redundancy policies based on individual storage servers. Thus, the data redundancy policies configured by the conventional DMA cannot take advantage of the benefits provided by the clustered storage system. In certain cases, they might be crippled by the special physical configurations of the clustered storage system. For example, a specific storage entity can be moved from one storage server to another storage server in a clustered storage system. Or one specific storage server can be failed-over to another storage server in the same clustered storage system. In these situations, the conventional data redundancy policies, which are closely coupled with the specific storage entity or the storage server, may become stale.
Further, when a single set of data is stored across multiple storage servers in the clustered storage system, the data redundancy policies for an individual storage server would have difficulty in retrieving the whole set of data from a single storage server. And, backing-up a fraction of the data serves little purpose in data restoration. Additionally, to increase availability and flexibility, a storage server in a clustered storage system is often un-identifiable to external applications. Thus, a conventional DMA may no longer be able to browse or retrieve the detailed file system information from an individual storage server in a clustered storage system. Without an alternative naming or accessing mechanism, the DMA loses its capability for accessing data stored in the individual storage servers, and becomes ineffective in the management of the backup/restore operations for the clustered storage system.